interface MiniInfos {
  appId: string;
  id: number;
  miniHeadIcon: string;
  miniName: string;
  tenantId: string;
}

interface MiniMenusItem {
  icon: string;
  menuId: number;
  name: string;
  path: string;
  pid: number;
  subMenu: any;
  title: string;
}

interface MiniRolesItem {
  roleCode: string;
  roleId: number;
  roleName: string;
}

export interface IState {
    userInfo: {
        avatarUrl: string,
        backUrl: string,
        id: number,
        invitationCode: string,
        miniInfos: MiniInfos,
        miniMenus: MiniMenusItem[],
        miniRoles: MiniRolesItem[],
        nikeName: string,
        phone: string,
        token: string,
    } | null;
    token: string;
}

export interface IAction {
    setUserInfo(data: IState["userInfo"]): void;
}
